home *** CD-ROM | disk | FTP | other *** search
/ Amiga Collections: Franz PD / Franz PD Disk #067 (1990-04)(Amiga User Group Deutschland e.V.).zip / Franz PD Disk #067 (1990-04)(Amiga User Group Deutschland e.V.).adf / Include / Ports.i < prev    next >
Text File  |  1989-07-02  |  1KB  |  62 lines

  1. {
  2.     These are the things you'll need in order to use Exec messages.
  3.     You will not need to include Exec.i before this.
  4. }
  5.  
  6. type
  7.  
  8.     NodeType = (NTUnknown, NTTask, NTInterrupt, NTDevice, NTMsgPort,
  9.         NTMessage, NTFreeMsg, NTReplyMsg, NTResource, NTLibrary,
  10.         NTMemory, NTSoftInt, NTFont, NTProcess, NTSemaphore);
  11.  
  12.     Node = record
  13.     lnSucc : ^Node;
  14.     lnPred : ^Node;
  15.     lnType : Byte;
  16.     lnPri  : Byte;
  17.     lnName : String;
  18.     end;
  19.     NodePtr = ^Node;
  20.  
  21.     List = record
  22.     lhHead,
  23.     lhTail,
  24.     lhTailPred : NodePtr;
  25.     lhType,
  26.     lPad    : Byte;
  27.     end;
  28.     ListPtr = ^List;
  29.  
  30.     MsgType = (PASignal, PASoftInt, PAIgnore, PFAction);
  31.  
  32.     MsgPort = record
  33.     mpNode    : Node;
  34.     mpFlags,
  35.     mpSigBit  : Byte;
  36.     mpSigTask : Address;
  37.     mpMsgList : List;
  38.     end;
  39.     MsgPortPtr = ^MsgPort;
  40.  
  41.     Message = record
  42.     mnNode        : Node;
  43.     mnReplyPort    : MsgPortPtr;
  44.     mnLength    : Short;
  45.     end;
  46.     MessagePtr = ^Message;
  47.  
  48. Procedure AddPort(p : MsgPortPtr);
  49.     External;
  50. Function FindPort(n : String): MsgPortPtr;
  51.     External;
  52. Function GetMsg(p : MsgPortPtr): MessagePtr;
  53.     External;
  54. Procedure PutMsg(p : MsgPortPtr; m : MessagePtr);
  55.     External;
  56. Procedure RemPort(m : MsgPortPtr);
  57.     External;
  58. Procedure ReplyMsg(m : MessagePtr);
  59.     External;
  60. Function WaitPort(p : MsgPortPtr): MessagePtr;
  61.     External;
  62.